import Vue from 'vue'
import Vuex from 'vuex'

Vue.use(Vuex)

const requireStore = require.context(
  // 其组件目录的相对路径
  './store',
  // 是否查询其子目录
  true,
  // 匹配基础组件文件名的正则表达式
  /[A-Z]\w+\.|js$/
);

const modules = {}

requireStore.keys().forEach(fileName => {
  // 获取组件配置
  const storeConfig = requireStore(fileName);
  const name = fileName.replace(/(\.\/)|(\.js)/g, '');
  modules[name] = storeConfig.default || storeConfig
})
export default new Vuex.Store({
  modules,
})
